The present invention generally relates to computer-based systems and methods for solving computer system models.
Computer system models and model solutions are useful for capacity planning. For example, the computer system models and the model solutions are used for predicting the manner in which computer systems will react under future conditions and loads. Such predictions are valuable in determining whether or not the computer systems should be modified to accommodate the future conditions and loads.
The computer system models of the computer systems are developed by characterizing the computer systems' workloads. Conventionally, three workload classes exist: a terminal class, a batch class, and a transaction class. The computer systems may include combinations of the workload classes.
The terminal and batch classes represent closed classes. The closed classes are workload classes with finite populations (herein, population refers to the number of users, or customers, in the workload classes).
The transaction classes represent open classes. The open classes are workload classes with infinite populations. In other words, the open classes represent the closed classes with infinite populations. For a general discussion of modeling with the open and closed workload classes, see "Open, Closed, and Mixed Networks of Queues With Different Classes of Customers" by Baskett, Chandy, Muntz, and Palacios (Journal of the Association for Computing Machinery, April 1975), which is incorporated by reference in its entirety herein.
In the computer system models, the workload classes are specified using measured data.
For example, the terminal workload class is often specified by using such measured information as the average number of active terminals (that is, the population), the average think time (that is, the interval between a computer response and a user input), and the average demands (that is, the required service from each of the computer's resources).
The batch workload class is often specified by using such measured information as the average number of batch jobs (that is, the population) and the average demand.
The transaction workload class is specified by using such measured and projected information as the computer system throughput.
The model solutions are algorithms which receive as input the computer system models and which generate performance metrics of the computer systems. Depending on the content of the computer system models, the performance metrics may include throughput, response time, utilization, and population.
The model solutions are used to validate the computer system models and to perform capacity planning by using the computer system models.
An Approximate Closed Multiclass Mean Value Analysis (MVA) Algorithm is an example of a conventional Model Solution. The Approximate Closed Multiclass MVA Algorithm is often used when the computer system models include only the closed workloads (that is, the terminal and batch workloads), and the available measured information associated with the closed workloads includes the population (that is, the average number of active terminals for the terminal workloads and the average number of batch jobs for the batch workloads).
However, for both the terminal and batch work-loads, the population size is often not available. Instead, the terminal and batch workloads are specified in terms of required throughput. In addition, projections of future computer loading are ordinarily stated in terms of required throughput, instead of population size.
The Approximate Closed Multiclass MVA Algorithm requires that the populations of the workloads be specified as inputs.
Therefore, in situations where the population size is not available, the Approximate Closed Multiclass MVA Algorithm cannot be used as the model solution.
For a description of the Approximate Closed Multiclass MVA Algorithm, see Quantitative System Performance: Computer System Analysis Using Queueing Network Models by Lazowska, Zahorjan, Graham, and Sevcik (Algorithm 7.3, page 143, Prentice-Hall, 1984), which is incorporated by reference in its entirety herein.
In a prior solution to this problem, those terminal and batch workloads which are specified in terms of throughput are approximated with the transaction workloads (as noted above, the transaction workloads are normally specified in terms of throughput). That is, in the computer system model, the terminal and batch workloads (which are specified in terms of throughput, not population) are replaced with transaction workloads. With the prior solution, a Mixed Multiclass Algorithm is used as the model solution.
However, there are problems with the prior solution. Specifically, use of the prior solution often results in a discrepancy between actual system measurements and the performance metrics generated by the Mixed Multiclass Algorithm. In other words, the Mixed Multiclass Algorithm (that is, the model solution) often fails to validate the computer system model.
The discrepancies of the prior solution result from the inherent error in representing the closed workloads (that is, the terminal and batch workloads) with the open workloads (that is, the transaction workloads). This is true because the closed work-loads, with finite populations, are poorly represented by the open workloads, with infinite populations.
There are further problems with the prior solution. Specifically, use of the prior solution alters the manner in which the closed workloads (some of which are approximated with the open workloads) interact. This is an effect of the Mixed Multiclass Algorithm, which in effect assigns higher priority on computer system resources to the open workloads over the closed workloads.
Also, the Mixed Multiclass Algorithm does not provide as output the population required to generate the specified throughput. This is a disadvantage of the Mixed Multiclass Algorithm, as the population value is often useful to know.
For a description of the Mixed Multiclass Algorithm, see Probability, Statistics, and Queueing Theory with Computer Science Applications, Second Edition by Arnold O. Allen (pages 415-417, Academic Press, San Diego, 1990), which is incorporated by reference in its entirely herein.